home *** CD-ROM | disk | FTP | other *** search
/ AOL File Library: 11,000 to 11,999 / 11000.zip / AOLDLs / Programmieren [Pascal - Sonstige] / Gerätetreiber anzeigen lassen / SHOWDRV.pas < prev   
Pascal/Delphi Source File  |  2014-12-20  |  1KB  |  33 lines

  1. procedure showdrv;
  2. var segme,ofse,NULs,NULo:word;NULfound:boolean;i:byte;se,off,attrib:string;
  3. BEGIN
  4. segme:=0;
  5. repeat
  6.   ofse:=0;
  7.   repeat
  8.     if mem[segme:ofse+10]=ord('N') then begin
  9.        if (mem[segme:ofse+11]=ord('U'))and(mem[segme:ofse+12]=ord('L'))and(mem[segme:ofse+13]=ord(' '))and(mem[segme:ofse+14]=ord(' '))and
  10.        (mem[segme:ofse+15]=ord(' ')) and(mem[segme:ofse+16]=ord(' '))and(mem[segme:ofse+17]=ord(' ')) then begin
  11.          nulfound:=true; nuls:=segme;nulo:=ofse;
  12.        end;
  13.     end;
  14.     inc(ofse);
  15.   until (NULfound) or(ofse>65510);
  16.   inc(segme);
  17. until NULfound;
  18. writeln('Addresse     Name      Attributbits      Typ       Strat. Int.');
  19. textcolor(7);
  20. write('00',hex(nuls),':',hex(nulo));
  21. repeat
  22.   write('    ');
  23.   attrib:='  '+dual(mem[nuls:nulo+5])+dual(mem[nuls:nulo+4]);
  24.   if attrib[3]='0' then write(mem[nuls:nulo+10],' Geräte') else for i:=1 to 8 do begin write(chr(mem[nuls:nulo+i+9]));end;
  25.   write(attrib);
  26.   if attrib[3]='1' then write('  Zeichen')else write('  Block  ');
  27.   writeln('   ',hex(mem[nuls:nulo+6]),hex(mem[nuls:nulo+7]),'   ',hex(mem[nuls:nulo+8]),hex(mem[nuls:nulo+9]));
  28.   se:=hex(mem[nuls:(nulo+3)])+hex(mem[nuls:(nulo+2)]);
  29.   off:=hex(mem[nuls:(nulo+1)])+hex(mem[nuls:nulo]);
  30.   if not ((se='FFFF')and(off='FFFF')) then write(se,':',off);
  31.   nuls:=hexdec(se);nulo:=hexdec(off);
  32. until(se='FFFF')and(off='FFFF');
  33. end.